package com.zxjbyte.yiyi.framework.oss.client;

import com.zxjbyte.yiyi.framework.oss.storage.FileMetadata;
import com.zxjbyte.yiyi.framework.oss.storage.OssPutResult;

import java.io.InputStream;

/**
 * @Author zhangxingjia
 * @Date 2023/6/19 15:35
 * @Version: 1.0
 */
public interface FileClient {

    /**
     * 获取文件信息
     * @param path 相对路径
     * @return 文件元数据
     */
    FileMetadata statFile(String path);

    /**
     * 上传文件
     * @param input 文件流
     * @param path 相对路径
     * @return 上传结果
     */
    OssPutResult putFile(InputStream input, String path);

    /**
     * 删除文件
     * @param path 相对路径
     */
    boolean deleteFile(String path);
}
